package com.dayangxiaoen.vo;


import com.dayangxiaoen.enums.StatusCode;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @author dayangxiaoen
 *
 * 返回前端类的封装
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Result {

    // 定义的状态码
    private int code;

    // 相关信息的说明
    private String msg;


    // 返回的相关参数 一般为VO
    // 如果出错，这返回NULL
    private Object data;

    public static Result sucess(Object data,String msg){
        return new Result(StatusCode.SUCCESS.getValue(), msg == null ? StatusCode.SUCCESS.getDesc() : msg,data);
    }

    public static Result fail(StatusCode statusCode){
        return new Result(statusCode.getValue(),statusCode.getDesc(),null);
    }
}
